www.gusucode.com > VC++ 通达信系统设置V3.0-源码程序 > VC++ 通达信系统设置V3.0-源码程序/code/JBMPage.cpp

    // JBMPage.cpp : implementation file
// Download by http://www.NewXing.com

#include "stdafx.h"
#include "tdxwcfg.h"
#include "JBMPage.h"
#include "FolderDialog.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CJBMPage property page

IMPLEMENT_DYNCREATE(CJBMPage, CPropertyPage)

CJBMPage::CJBMPage() : CPropertyPage(CJBMPage::IDD)
{
	//{{AFX_DATA_INIT(CJBMPage)
	m_JbmName1 = _T("");
	m_JbmName2 = _T("");
	m_JbmName3 = _T("");
	m_JbmNum = 0;
	m_SHJbm1 = _T("");
	m_SHJbm2 = _T("");
	m_SHJbm3 = _T("");
	m_SZJbm1 = _T("");
	m_SZJbm2 = _T("");
	m_SZJbm3 = _T("");
	//}}AFX_DATA_INIT
}

CJBMPage::~CJBMPage()
{
}

void CJBMPage::DoDataExchange(CDataExchange* pDX)
{
	CPropertyPage::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CJBMPage)
	DDX_Text(pDX, IDC_JBMNAME1_EDIT, m_JbmName1);
	DDV_MaxChars(pDX, m_JbmName1, 20);
	DDX_Text(pDX, IDC_JBMNAME2_EDIT, m_JbmName2);
	DDV_MaxChars(pDX, m_JbmName2, 20);
	DDX_Text(pDX, IDC_JBMNAME3_EDIT, m_JbmName3);
	DDV_MaxChars(pDX, m_JbmName3, 20);
	DDX_Text(pDX, IDC_JBMNUM_EDIT, m_JbmNum);
	DDX_Text(pDX, IDC_SHJBM1_EDIT, m_SHJbm1);
	DDX_Text(pDX, IDC_SHJBM2_EDIT, m_SHJbm2);
	DDX_Text(pDX, IDC_SHJBM3_EDIT, m_SHJbm3);
	DDX_Text(pDX, IDC_SZJBM1_EDIT, m_SZJbm1);
	DDX_Text(pDX, IDC_SZJBM2_EDIT, m_SZJbm2);
	DDX_Text(pDX, IDC_SZJBM3_EDIT, m_SZJbm3);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CJBMPage, CPropertyPage)
	//{{AFX_MSG_MAP(CJBMPage)
	ON_BN_CLICKED(IDC_BROWSE1, OnBrowse1)
	ON_BN_CLICKED(IDC_BROWSE2, OnBrowse2)
	ON_BN_CLICKED(IDC_BROWSE3, OnBrowse3)
	ON_BN_CLICKED(IDC_BROWSE4, OnBrowse4)
	ON_BN_CLICKED(IDC_BROWSE5, OnBrowse5)
	ON_BN_CLICKED(IDC_BROWSE6, OnBrowse6)
	ON_EN_CHANGE(IDC_JBMNUM_EDIT, OnChangeJbmnumEdit)
	ON_NOTIFY(UDN_DELTAPOS, IDC_SPIN1, OnDeltaposSpin1)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CJBMPage message handlers

BOOL CJBMPage::OnInitDialog() 
{
	CPropertyPage::OnInitDialog();
	
	m_JbmNum   = g_JbmNum;

	m_JbmName1 = g_Jbmname[0];
	m_SZJbm1   = g_SZBASE[0];
	m_SHJbm1   = g_SHBASE[0];
	m_JbmName2 = g_Jbmname[1];
	m_SZJbm2   = g_SZBASE[1];
	m_SHJbm2   = g_SHBASE[1];
	m_JbmName3 = g_Jbmname[2];
	m_SZJbm3   = g_SZBASE[2];
	m_SHJbm3   = g_SHBASE[2];

	UpdateData(FALSE);
	ShowOrHide(m_JbmNum);

	return TRUE;
}

void CJBMPage::OnBrowse1() 
{
	UpdateData(TRUE);
	CFolderDialog FolderDlg(NULL,NULL,this);
	if( FolderDlg.DoModal() == IDOK )
	{
		m_strFilePath = FolderDlg.GetPathName();
		SetDlgItemText(IDC_SZJBM1_EDIT,m_strFilePath);
	}	
}

void CJBMPage::OnBrowse2() 
{
	UpdateData(TRUE);
	CFolderDialog FolderDlg(NULL,NULL,this);
	if( FolderDlg.DoModal() == IDOK )
	{
		m_strFilePath = FolderDlg.GetPathName();
		SetDlgItemText(IDC_SHJBM1_EDIT,m_strFilePath);
	}	
}

void CJBMPage::OnBrowse3() 
{
	UpdateData(TRUE);
	CFolderDialog FolderDlg(NULL,NULL,this);
	if( FolderDlg.DoModal() == IDOK )
	{
		m_strFilePath = FolderDlg.GetPathName();
		SetDlgItemText(IDC_SZJBM2_EDIT,m_strFilePath);
	}	
}

void CJBMPage::OnBrowse4() 
{
	UpdateData(TRUE);
	CFolderDialog FolderDlg(NULL,NULL,this);
	if( FolderDlg.DoModal() == IDOK )
	{
		m_strFilePath = FolderDlg.GetPathName();
		SetDlgItemText(IDC_SHJBM2_EDIT,m_strFilePath);
	}	
}

void CJBMPage::OnBrowse5() 
{
	UpdateData(TRUE);
	CFolderDialog FolderDlg(NULL,NULL,this);
	if( FolderDlg.DoModal() == IDOK )
	{
		m_strFilePath = FolderDlg.GetPathName();
		SetDlgItemText(IDC_SZJBM3_EDIT,m_strFilePath);
	}	
}

void CJBMPage::OnBrowse6() 
{
	UpdateData(TRUE);
	CFolderDialog FolderDlg(NULL,NULL,this);
	if( FolderDlg.DoModal() == IDOK )
	{
		m_strFilePath = FolderDlg.GetPathName();
		SetDlgItemText(IDC_SHJBM3_EDIT,m_strFilePath);
	}	
}

void CJBMPage::OnChangeJbmnumEdit() 
{
	UpdateData(TRUE);
	if(m_JbmNum < 1) m_JbmNum = 1;
	if(m_JbmNum > 3) m_JbmNum = 3;
	UpdateData(FALSE);
	ShowOrHide(m_JbmNum);
}

void CJBMPage::OnDeltaposSpin1(NMHDR* pNMHDR, LRESULT* pResult) 
{
	NM_UPDOWN* pNMUpDown = (NM_UPDOWN*)pNMHDR;
	
	UpdateData(TRUE);
	m_JbmNum -= pNMUpDown->iDelta;
	if(m_JbmNum < 1) m_JbmNum = 1;
	if(m_JbmNum > 3) m_JbmNum = 3;
	
	UpdateData(FALSE);

	ShowOrHide(m_JbmNum);

	*pResult = 0;
}

void CJBMPage::ShowOrHide(int n)
{
	switch(n)
	{
	case 3:
		GetDlgItem(IDC_JBMNAME3_STATIC)->ShowWindow(SW_SHOW);
		GetDlgItem(IDC_JBMNAME3_EDIT)->ShowWindow(SW_SHOW);
		GetDlgItem(IDC_SZJBM3_STATIC)->ShowWindow(SW_SHOW);
		GetDlgItem(IDC_SZJBM3_EDIT)->ShowWindow(SW_SHOW);
		GetDlgItem(IDC_SHJBM3_STATIC)->ShowWindow(SW_SHOW);
		GetDlgItem(IDC_SHJBM3_EDIT)->ShowWindow(SW_SHOW);
		GetDlgItem(IDC_BROWSE5)->ShowWindow(SW_SHOW);
		GetDlgItem(IDC_BROWSE6)->ShowWindow(SW_SHOW);
	case 2:
		GetDlgItem(IDC_JBMNAME2_STATIC)->ShowWindow(SW_SHOW);
		GetDlgItem(IDC_JBMNAME2_EDIT)->ShowWindow(SW_SHOW);
		GetDlgItem(IDC_SZJBM2_STATIC)->ShowWindow(SW_SHOW);
		GetDlgItem(IDC_SZJBM2_EDIT)->ShowWindow(SW_SHOW);
		GetDlgItem(IDC_SHJBM2_STATIC)->ShowWindow(SW_SHOW);
		GetDlgItem(IDC_SHJBM2_EDIT)->ShowWindow(SW_SHOW);
		GetDlgItem(IDC_BROWSE3)->ShowWindow(SW_SHOW);
		GetDlgItem(IDC_BROWSE4)->ShowWindow(SW_SHOW);
	case 1:
		GetDlgItem(IDC_JBMNAME1_STATIC)->ShowWindow(SW_SHOW);
		GetDlgItem(IDC_JBMNAME1_EDIT)->ShowWindow(SW_SHOW);
		GetDlgItem(IDC_SZJBM1_STATIC)->ShowWindow(SW_SHOW);
		GetDlgItem(IDC_SZJBM1_EDIT)->ShowWindow(SW_SHOW);
		GetDlgItem(IDC_SHJBM1_STATIC)->ShowWindow(SW_SHOW);
		GetDlgItem(IDC_SHJBM1_EDIT)->ShowWindow(SW_SHOW);
		GetDlgItem(IDC_BROWSE1)->ShowWindow(SW_SHOW);
		GetDlgItem(IDC_BROWSE2)->ShowWindow(SW_SHOW);
	}
	switch(3-n)
	{
	case 2:
		GetDlgItem(IDC_JBMNAME2_STATIC)->ShowWindow(SW_HIDE);
		GetDlgItem(IDC_JBMNAME2_EDIT)->ShowWindow(SW_HIDE);
		GetDlgItem(IDC_SZJBM2_STATIC)->ShowWindow(SW_HIDE);
		GetDlgItem(IDC_SZJBM2_EDIT)->ShowWindow(SW_HIDE);
		GetDlgItem(IDC_SHJBM2_STATIC)->ShowWindow(SW_HIDE);
		GetDlgItem(IDC_SHJBM2_EDIT)->ShowWindow(SW_HIDE);
		GetDlgItem(IDC_BROWSE3)->ShowWindow(SW_HIDE);
		GetDlgItem(IDC_BROWSE4)->ShowWindow(SW_HIDE);
	case 1:
		GetDlgItem(IDC_JBMNAME3_STATIC)->ShowWindow(SW_HIDE);
		GetDlgItem(IDC_JBMNAME3_EDIT)->ShowWindow(SW_HIDE);
		GetDlgItem(IDC_SZJBM3_STATIC)->ShowWindow(SW_HIDE);
		GetDlgItem(IDC_SZJBM3_EDIT)->ShowWindow(SW_HIDE);
		GetDlgItem(IDC_SHJBM3_STATIC)->ShowWindow(SW_HIDE);
		GetDlgItem(IDC_SHJBM3_EDIT)->ShowWindow(SW_HIDE);
		GetDlgItem(IDC_BROWSE5)->ShowWindow(SW_HIDE);
		GetDlgItem(IDC_BROWSE6)->ShowWindow(SW_HIDE);
	}
}

void CJBMPage::OnOK() 
{
	UpdateData(TRUE);
	g_JbmNum = m_JbmNum;

	if(m_SZJbm1.Right(1) != "\\") m_SZJbm1+="\\";
	if(m_SHJbm1.Right(1) != "\\") m_SHJbm1+="\\";
	if(m_SZJbm2.Right(1) != "\\") m_SZJbm2+="\\";
	if(m_SHJbm2.Right(1) != "\\") m_SHJbm2+="\\";
	if(m_SZJbm3.Right(1) != "\\") m_SZJbm3+="\\";
	if(m_SHJbm3.Right(1) != "\\") m_SHJbm3+="\\";

	g_Jbmname[0] = m_JbmName1;
	g_SZBASE[0] = m_SZJbm1;
	g_SHBASE[0] = m_SHJbm1;

	g_Jbmname[1] = m_JbmName2;
	g_SZBASE[1] = m_SZJbm2;
	g_SHBASE[1] = m_SHJbm2;

	g_Jbmname[2] = m_JbmName3;
	g_SZBASE[2] = m_SZJbm3;
	g_SHBASE[2] = m_SHJbm3;

	CPropertyPage::OnOK();
}